/*
 **  弹出层模块
 */
WHOOPSFEED.boxDialogs = (function () {
    return {

        createTemp : function (options) {

            var defaults = {
                trigger:null,                            //触发的元素或id,必填参数
                Blk:null,                                //弹出内容层元素或id,必填参数
                closeBtn:null,                           //关闭弹出层的元素或id
                closeType:"hide",                        //关闭层方式（隐藏 or 移除）
                LayerClass:null,                         //弹出层容器的class名称
                eventType:"click",                       //触发事件的类型
                offsets:{                                //弹出层容器位置的调整值
                    x:0,                                 //横坐标
                    y:0                                  //纵坐标
                },                                       //层的(x,y)坐标
                temp:null,                               //弹出层使用的模板
                tempData:null,                           //弹出层
                useFx:false,                             //是否使用特效
                useOverlay:false,                        //是否使用全局遮罩
                usePopupIframe:true,                     //是否使用容器遮罩
                onBeforeStart:function(){}               //自定义事件
            };

            var options = $.extend(defaults, options);

            $(options.trigger).bind(options.eventType,function(){
                //判断窗口是否已打开
                var isDialogOpen = false;
                $("div[id^=_dialog_]").each(function(){
                    if ('#'+$(this).attr('id') == options.Blk ) {
                        //移除所有 .dialog 层
                        isDialogOpen = true;
                        var show_options = {
                            Blk:options.Blk
                        }
                        WHOOPSFEED.boxDialogs.showTemp(show_options);
                    }
                });

                //如果没有打开，则进行创建
                if (isDialogOpen == false) {

                    $('body').append(options.temp(options.tempData));
                }
            });

            $(options.closeBtn).live(options.eventType, function () {
                var hide_options = {
                    Blk:options.Blk
                }
                WHOOPSFEED.boxDialogs.removeOrhideTemp(hide_options);
            });
        },
        showTemp : function(options){
            var defaults = {
                Blk:null, //弹出内容层元素或id,必填参数
                closeBtn:null, //关闭弹出层的元素或id
                LayerClass:null, //弹出层容器的class名称
                eventType:"click", //触发事件的类型
                offsets:{                                //弹出层容器位置的调整值
                    x:0, //横坐标
                    y:0                                  //纵坐标
                }, //层的(x,y)坐标
                useFx:false, //是否使用特效
                useOverlay:false, //是否使用全局遮罩
                usePopupIframe:true, //是否使用容器遮罩
                onBeforeStart:function () {
                }               //自定义事件
            };

            var options = $.extend(defaults, options);

            $(options.Blk).show();
        },
        removeOrhideTemp : function(options){
            var defaults = {
                Blk:null,                       //弹出内容层元素或id,必填参数
                useFx:false,                    //是否使用特效
                onBeforeStart:function () {
                }                               //自定义事件
            };

            var options = $.extend(defaults, options);

            $(options.Blk).remove();
        },
        doresize:function(){
            this.overlay?this.overlay.css({width:($.browser.version=="6.0")?$(document).width()-21:$(document).width(),height:($.browser.version=="6.0")?$(document).height()-4:$(document).height()}):null;
            if(this.isSetPosition){
                this.setPosition(this.trigger.offset().left + this.options.offsets.x, this.trigger.offset().top + this.trigger.get(0).offsetHeight + this.options.offsets.y);
            }
        },
        setPosition:function(){          //通过传入的参数值改变弹出层的位置

        },
        doEffects:function(){                //做特效

        }
    }
})(jQuery);